// SPDX-License-Identifier: GPL-2.0
#include "qcom-ipq8064-v1.0.dtsi"

/ {
	model = "Qualcomm IPQ8064/AP148";
	compatible = "qcom,ipq8064-ap148", "qcom,ipq8064";

	aliases {
		serial0 = &gsbi4_serial;
	};

	chosen {
		stdout-path = "serial0:115200n8";
	};

	reserved-memory {
		#address-cells = <1>;
		#size-cells = <1>;
		ranges;
		rsvd@41200000 {
			reg = <0x41200000 0x300000>;
			no-map;
		};
	};

	soc {
		pinmux@800000 {
			i2c4_pins: i2c4_pinmux {
				pins = "gpio12", "gpio13";
				function = "gsbi4";
				bias-disable;
			};

			spi_pins: spi_pins {
				mux {
					pins = "gpio18", "gpio19", "gpio21";
					function = "gsbi5";
					drive-strength = <10>;
					bias-none;
				};
			};
		};

		gsbi@16300000 {
			qcom,mode = <GSBI_PROT_I2C_UART>;
			status = "ok";
			serial@16340000 {
				status = "ok";
			};

			i2c4: i2c@16380000 {
				status = "ok";

				clock-frequency = <200000>;

				pinctrl-0 = <&i2c4_pins>;
				pinctrl-names = "default";
			};
		};

		gsbi5: gsbi@1a200000 {
			qcom,mode = <GSBI_PROT_SPI>;
			status = "ok";

			spi4: spi@1a280000 {
				status = "ok";
				spi-max-frequency = <50000000>;

				pinctrl-0 = <&spi_pins>;
				pinctrl-names = "default";

				cs-gpios = <&qcom_pinmux 20 0>;

				flash: m25p80@0 {
					compatible = "s25fl256s1";
					#address-cells = <1>;
					#size-cells = <1>;
					spi-max-frequency = <50000000>;
					reg = <0>;

					partition@0 {
						label = "rootfs";
						reg = <0x0 0x1000000>;
					};

					partition@1 {
						label = "scratch";
						reg = <0x1000000 0x1000000>;
					};
				};
			};
		};

		sata-phy@1b400000 {
			status = "ok";
		};

		sata@29000000 {
			ports-implemented = <0x1>;
			status = "ok";
		};
	};
};
